import { moduleTypeEnum, releaseTypeEnum } from '@/constants/enum';

// 汇总页返回值
export interface GetTaskDataSummaryListResult {
  id: number;
  // 	总任务
  totalCount: number;
  // 待填报
  waitFillCount: number;
  // 已完成
  waitReviewCount: number;
  // 待审批
  waitApproveCount: number;
}

// 订阅版本相关信息
export interface SubListItem {
  enterpriseName: string;
  productName: string;
  version: string;
  scope: string;
  subCycleType: string;
  remainingDay: number;
  validStartDate: string;
  validEndDate: string;
}

// 获取客户账户 返回值
export interface GetUserAccountResult {
  userName: string;
  realName: string;
  enterpriseName: string;
  roleName: string;
  subList: SubListItem[];
}

// 系统公告详情 返回参数
export interface SystemNotifyDetailResult {
  announcementType: string;
  businessModule: string;
  content: string;
  files: string[];
  module: string;
  organizationCode: string;
  releaseRange: string;
  releaseTime: string;
  releaseTimeType: string;
  subtitle: string;
  title: string;
}

export interface SystemNotifyListResult {
  sendType: keyof typeof releaseTypeEnum;
  announcementType: string;
  attachmentNum: string;
  businessModule: string;
  content: string;
  createTime: string;
  fileName: string;
  fileUrl: string;
  id: number;
  module: string;
  newFlag: boolean;
  placedTop: boolean;
  releasePeopleName: string;
  releaseRange: string;
  releaseStatus: string;
  releaseTime: string;
  subtitle: string;
  title: string;
}

export interface systemNotifyListParams {
  current: number;
  size: number;
  module: keyof typeof moduleTypeEnum;
}

/**
 * 待办统计信息 返回数据
 */
export interface GetTodoStatisticsResult {
  /**
   * 待办数
   */
  ruTaskNum: number;
  /**
   * 已办数
   */
  hiTaskNum: number;
  /**
   * 已提交数
   */
  startProcessNum: number;
  /**
   * 即将超时数
   */
  nearDueTaskNum: number;
  /**
   * 已超时数
   */
  dueTaskNum: number;
}

export interface IModelItem {
  code: string;
  baseYear: string;
  modelCreateTime: string;
  modelMethod: string;
  modelNo: string;
  modelStage: string;
  modelType: string;
  name: string;
  num: string;
  unit: string;
}

export interface IInventoryIndicator {
  waitAuditNum: string; // 待审核
  waitFillNum: string; // 待填报
  releaseNum: string; // 已制定
  passNum: string; // 已审核(通过)
}

export interface IFootprintIndicator {
  createNum: string; // 已创建
  reportNum: string; // 生成报告
  feedBackFormNum: string; // 待反馈的数据表
  supplierNum: string; // 供应商数量
  groupFormNum: string; // 集团可以查看的供应商数据表
  calcNum: string; // 已核算
  unSubmitted: string; //待提交
  audit: string; //待审核
  pass: string; //已通过
}

export interface IContactInfo {
  name: string;
  email: string;
  phone: string;
  employeeNo: string;
  orgName: string;
}
